home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr37 / tieab15.zip / ADDBOOK.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-02-26  |  17KB  |  688 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Integer  INTEGER001
  22.     Integer  INTEGER002
  23.     Integer  INTEGER003
  24.     String   STRING001
  25.     String   STRING002
  26.     String   TSTRING003(3)
  27.     String   STRING004
  28.     String   TSTRING005(100)
  29.     String   TSTRING006(100)
  30.     String   TSTRING007(100)
  31.     String   STRING008
  32.     String   STRING009
  33.     String   STRING010
  34.     String   STRING011
  35.     String   STRING012
  36.     String   STRING013
  37.     String   TSTRING014(100)
  38.     String   TSTRING015(100)
  39.     String   TSTRING016(9)
  40.     String   STRING017
  41.     String   STRING018
  42.     String   TSTRING019(99)
  43.     String   TSTRING020(5)
  44.     String   TSTRING021(5)
  45.     String   STRING022
  46.     String   STRING023
  47.     String   STRING024
  48.     String   STRING025
  49.  
  50. ;------------------------------------------------------------------------------
  51.  
  52.     Goto LABEL037
  53.     :LABEL001
  54.     Log "The E-mail Address Book was opened!", 0
  55.     PrintLn 
  56.     Print "Loading your internet address book.  Please wait...."
  57.     StartDisp 1
  58.     STRING013 = Chr(13)
  59.     FOpen 1, PPEPath() + PPEName() + ".CFG", 0, 0
  60.     STRING001 = 1
  61.     :LABEL002
  62.     If (Ferr(1)) Goto LABEL003
  63.     FGet 1, TSTRING019(STRING001)
  64.     Inc STRING001
  65.     Goto LABEL002
  66.     :LABEL003
  67.     FClose 1
  68.     STRING017 = Right(U_Name(), 7)
  69.     For STRING001 = 1 To Len(STRING017)
  70.         STRING018 = Right(STRING017, STRING001)
  71.         If (Left(STRING018, 1) == " ") STRING017 = Right(STRING017, STRING001 - 1)
  72.     Next
  73.     STRING017 = Left(U_Name(), 1) + STRING017 + ".DAT"
  74.     If (Exist(PPEPath() + "DAT\" + STRING017)) Goto LABEL004
  75.     PrintLn 
  76.     Print "Opening new address book for @USER@.  Please wait...."
  77.     Log "@USER@, opened a new account in The E-mail Address Book", 0
  78.     FCreate 1, PPEPath() + "DAT\" + STRING017, 2, 0
  79.     STRING008 = "NEW"
  80.     INTEGER001 = 0
  81.     For STRING001 = 1 To 8
  82.         For STRING025 = 1 To 30
  83.         Next
  84.         Print "."
  85.     Next
  86.     Goto LABEL007
  87.     Goto LABEL006
  88.     :LABEL004
  89.     INTEGER001 = 0
  90.     FOpen 1, PPEPath() + "DAT\" + STRING017, 2, 0
  91.     FDefIn 1
  92.     :LABEL005
  93.     If (Ferr(1)) Goto LABEL006
  94.     Inc INTEGER001
  95.     FDGet TSTRING014(INTEGER001)
  96.     FDGet TSTRING015(INTEGER001)
  97.     If (GetX() < 79) Then
  98.         For STRING025 = 1 To 30
  99.         Next
  100.         Print "."
  101.     Endif
  102.     Goto LABEL005
  103.     :LABEL006
  104.     INTEGER001 = INTEGER001 - 1
  105.     :LABEL007
  106.     For STRING001 = 1 To Len(U_Name())
  107.         TSTRING016(1) = Mid(U_Name(), STRING001, 1)
  108.         If (TSTRING016(1) == " ") Break
  109.         TSTRING016(2) = TSTRING016(2) + TSTRING016(1)
  110.     Next
  111.     TSTRING016(3) = Mid(U_Name(), STRING001 + 1, Len(U_Name()))
  112.     For STRING001 = 1 To Len(TSTRING016(3))
  113.         TSTRING016(4) = Mid(TSTRING016(3), STRING001, 1)
  114.         If (TSTRING016(4) == " ") Break
  115.         TSTRING016(0) = TSTRING016(0) + TSTRING016(4)
  116.     Next
  117.     For STRING001 = 1 To Len(TSTRING016(2))
  118.         TSTRING016(5) = Mid(TSTRING016(2), STRING001, 1)
  119.         TSTRING016(5) = Asc(TSTRING016(5))
  120.         If ((TSTRING016(5) > "64") && (TSTRING016(5) < "91")) Then
  121.             TSTRING016(5) = TSTRING016(5) + 32
  122.         Endif
  123.         TSTRING016(5) = Chr(TSTRING016(5))
  124.         TSTRING016(6) = TSTRING016(6) + TSTRING016(5)
  125.     Next
  126.     For STRING001 = 1 To Len(TSTRING016(0))
  127.         TSTRING016(7) = Mid(TSTRING016(0), STRING001, 1)
  128.         TSTRING016(7) = Asc(TSTRING016(7))
  129.         If ((TSTRING016(7) > "64") && (TSTRING016(7) < "91")) Then
  130.             TSTRING016(7) = TSTRING016(7) + 32
  131.         Endif
  132.         TSTRING016(7) = Chr(TSTRING016(7))
  133.         TSTRING016(8) = TSTRING016(8) + TSTRING016(7)
  134.     Next
  135.     TSTRING016(9) = TSTRING019(2) + TSTRING016(6) + "." + TSTRING016(8) + TSTRING019(3)
  136.     If (Left(TSTRING016(8), 1) == " ") TSTRING016(9) = TSTRING019(2) + TSTRING016(6) + TSTRING019(3)
  137.     Gosub LABEL008
  138.     If (STRING004 == 1) Then
  139.         TSTRING019(4) = "@X0C"
  140.         TSTRING019(5) = "@X0E"
  141.         TSTRING019(6) = "@X09"
  142.         TSTRING019(7) = "@X0A"
  143.         TSTRING019(8) = "@X0B"
  144.     Endif
  145.     If (STRING004 == 1) Then
  146.         AnsiPos 6, 2
  147.         Print "@X89UNREGISTERED@X07"
  148.     Endif
  149.     If (STRING004 == 1) Then
  150.         AnsiPos 62, 2
  151.         Print "@X89UNREGISTERED@X07"
  152.     Endif
  153.     Cls
  154.     PrintLn TSTRING019(5) + "╔═════════════════════════════════════════════════════════════════════════════╗"
  155.     PrintLn TSTRING019(5) + "║                      " + TSTRING019(4) + "The Internet E-Mail Address Book" + TSTRING019(5) + "                       ║"
  156.     PrintLn TSTRING019(5) + "╠═══╤═════════════════════════════════════════════════════════════════════════╣"
  157.     PrintLn TSTRING019(5) + "║ " + TSTRING019(6) + "1" + TSTRING019(5) + " │                           │                                             ║"
  158.     PrintLn TSTRING019(5) + "╟───┼─────────────────────────────────────────────────────────────────────────╢"
  159.     PrintLn TSTRING019(5) + "║ " + TSTRING019(6) + "2" + TSTRING019(5) + " │                           │                                             ║"
  160.     PrintLn TSTRING019(5) + "╟───┼─────────────────────────────────────────────────────────────────────────╢"
  161.     PrintLn TSTRING019(5) + "║ " + TSTRING019(6) + "3" + TSTRING019(5) + " │                           │                                             ║"
  162.     PrintLn TSTRING019(5) + "╟───┼─────────────────────────────────────────────────────────────────────────╢"
  163.     PrintLn TSTRING019(5) + "║ " + TSTRING019(6) + "4" + TSTRING019(5) + " │                           │                                             ║"
  164.     PrintLn TSTRING019(5) + "╟───┼─────────────────────────────────────────────────────────────────────────╢"
  165.     PrintLn TSTRING019(5) + "║ " + TSTRING019(6) + "5" + TSTRING019(5) + " │                           │                                             ║"
  166.     PrintLn TSTRING019(5) + "╠═══╧═════════════════════════════════════════════════════════════════════════╣"
  167.     PrintLn TSTRING019(5) + "║ " + TSTRING019(8) + "Your Internet Address:" + TSTRING019(7) + "                                                      ║"
  168.     PrintLn TSTRING019(5) + "╚═════════════════════════════════════════════════════════════════════════════╝"
  169.     PrintLn TSTRING019(5) + "╔════════════════════════════════════╤════════════════════════════════════════╗"
  170.     PrintLn TSTRING019(5) + "║ " + TSTRING019(8) + "Number of Addresses in Book:" + TSTRING019(5) + "       │    @X04Red Dragon Software(tm)  1995(c)    " + TSTRING019(5) + "║"
  171.     PrintLn TSTRING019(5) + "╚════════════════════════════════════╧════════════════════════════════════════╝"
  172.     PrintLn TSTRING019(5) + "╔════════╤═══════════════════════╤═════════╤════════════╤══════════╤══════════╗"
  173.     PrintLn TSTRING019(5) + "║" + TSTRING019(4) + " (" + TSTRING019(6) + "" + TSTRING019(4) + "/" + TSTRING019(6) + "" + TSTRING019(4) + ")  " + TSTRING019(5) + "│" + TSTRING019(4) + "  (" + TSTRING019(6) + "#" + TSTRING019(4) + ") of name to mail  " + TSTRING019(5) + "│" + TSTRING019(4) + "  (" + TSTRING019(6) + "A" + TSTRING019(4) + ")dd  " + TSTRING019(5) + "│" + TSTRING019(4) + "  (" + TSTRING019(6) + "D" + TSTRING019(4) + ")elete  " + TSTRING019(5) + "│" + TSTRING019(4) + "  (" + TSTRING019(6) + "Q" + TSTRING019(4) + ")uit  " + TSTRING019(5) + "│" + TSTRING019(4) + "  (" + TSTRING019(6) + "H" + TSTRING019(4) + ")elp  " + TSTRING019(5) + "║"
  174.     PrintLn TSTRING019(5) + "╚════════╧═══════════════════════╧═════════╧════════════╧══════════╧══════════╝"
  175.     AnsiPos 26, 14
  176.     Print TSTRING019(8) + TSTRING016(9)
  177.     If (STRING004 == 1) Then
  178.         AnsiPos 6, 2
  179.         Print "@X89UNREGISTERED@X07"
  180.         AnsiPos 62, 2
  181.         Print "@X89UNREGISTERED@X07"
  182.     Endif
  183.     Goto LABEL009
  184.     :LABEL008
  185.     STRING023 = ReadLine(PCBDat(), 94)
  186.     TSTRING003(1) = Asc(Mid(STRING023, 1, 1))
  187.     If (Len(TSTRING003(1)) < 2) TSTRING003(1) = "00" + TSTRING003(1)
  188.     If (Len(TSTRING003(1)) < 3) TSTRING003(1) = "0" + TSTRING003(1)
  189.     If (TSTRING003(1) == "0") TSTRING003(1) = "000"
  190.     TSTRING003(2) = Asc(Mid(STRING023, 5, 1))
  191.     If (Len(TSTRING003(2)) < 2) TSTRING003(2) = "00" + TSTRING003(2)
  192.     If (Len(TSTRING003(2)) < 3) TSTRING003(2) = "0" + TSTRING003(2)
  193.     If (TSTRING003(2) == "0") TSTRING003(2) = "000"
  194.     TSTRING003(3) = Asc(Mid(STRING023, 8, 1))
  195.     If (Len(TSTRING003(2)) < 2) TSTRING003(3) = "00" + TSTRING003(3)
  196.     If (Len(TSTRING003(3)) < 3) TSTRING003(3) = "0"
  197.     If (TSTRING003(3) == "0") TSTRING003(3) = "000"
  198.     If (Left(TSTRING019(1), 3) <> TSTRING003(1)) STRING004 = 1
  199.     If (Mid(TSTRING019(1), 4, 3) <> TSTRING003(3)) STRING004 = 1
  200.     If (Mid(TSTRING019(1), 7, 3) <> TSTRING003(2)) STRING004 = 1
  201.     Return
  202.     :LABEL009
  203.     AnsiPos 32, 17
  204.     Print TSTRING019(7) + INTEGER001
  205.     INTEGER002 = 1
  206.     :LABEL010
  207.     TSTRING020(0) = "@X07                          "
  208.     TSTRING021(0) = "@X07                                            "
  209.     STRING022 = TSTRING020(1)
  210.     If (INTEGER002 <= 0) INTEGER002 = 1
  211.     For STRING001 = 1 To 5
  212.         TSTRING020(STRING001) = TSTRING014(INTEGER002)
  213.         If (TSTRING020(1) == "") Then
  214.             Goto LABEL012
  215.         Endif
  216.         TSTRING021(STRING001) = TSTRING015(INTEGER002)
  217.         Inc INTEGER002
  218.     Next
  219.     STRING025 = 1
  220.     For STRING001 = 4 To 12 Step 2
  221.         If (TSTRING020(1) == "") Then
  222.             AnsiPos 7, STRING001
  223.             Print TSTRING020(0)
  224.             AnsiPos 35, STRING001
  225.             Print TSTRING021(0)
  226.             Goto LABEL012
  227.         Endif
  228.         If (TSTRING020(STRING025) == "") Goto LABEL011
  229.         AnsiPos 7, STRING001
  230.         Print TSTRING020(0)
  231.         If (TSTRING020(STRING025) == "") Goto LABEL012
  232.         AnsiPos 7, STRING001
  233.         Print TSTRING019(7) + TSTRING020(STRING025)
  234.         AnsiPos 35, STRING001
  235.         Print TSTRING021(0)
  236.         AnsiPos 35, STRING001
  237.         Print TSTRING019(8) + TSTRING021(STRING025)
  238.         Inc STRING025
  239.     Next
  240.     STRING001 = 0
  241.     :LABEL011
  242.     INTEGER003 = GetY()
  243.     INTEGER003 = INTEGER003 + 2
  244.     If (INTEGER003 < 4) INTEGER003 = 4
  245.     For STRING025 = INTEGER003 To 12 Step 2
  246.         AnsiPos 7, STRING025
  247.         Print TSTRING020(0)
  248.         AnsiPos 35, STRING025
  249.         Print TSTRING021(0)
  250.     Next
  251.     :LABEL012
  252.     AnsiPos 1, 22
  253.     Print "@X07                                                                               "
  254.     AnsiPos 79, 21
  255.     BOOLEAN001 = 0
  256.     :LABEL013
  257.     If (BOOLEAN001) Goto LABEL014
  258.     STRING012 = Inkey()
  259.     If (STRING012 == "D") STRING012 = Chr(Asc(STRING012) + 32)
  260.     If (Asc(STRING012) == 85) Then
  261.         INTEGER002 = INTEGER002 - 10
  262.         Goto LABEL010
  263.     Endif
  264.     If (Asc(STRING012) == 68) Then
  265.         Goto LABEL010
  266.     Endif
  267.     STRING012 = Upper(STRING012)
  268.     If (STRING012 == "H") Goto LABEL031
  269.     If (STRING012 == "A") Goto LABEL016
  270.     If (STRING012 == "D") Then
  271.         Goto LABEL024
  272.     Endif
  273.     If (STRING012 == "Q") Goto LABEL034
  274.     If (STRING012 == "1") Then
  275.         STRING011 = TSTRING021(1)
  276.         STRING025 = 1
  277.         Gosub LABEL014
  278.     Endif
  279.     If (STRING012 == "2") Then
  280.         STRING011 = TSTRING021(2)
  281.         STRING025 = 2
  282.         Gosub LABEL014
  283.     Endif
  284.     If (STRING012 == "3") Then
  285.         STRING011 = TSTRING021(3)
  286.         STRING025 = 3
  287.         Gosub LABEL014
  288.     Endif
  289.     If (STRING012 == "4") Then
  290.         STRING011 = TSTRING021(4)
  291.         STRING025 = 4
  292.         Gosub LABEL014
  293.     Endif
  294.     If (STRING012 == "5") Then
  295.         STRING011 = TSTRING021(5)
  296.         STRING025 = 5
  297.         Gosub LABEL014
  298.     Endif
  299.     Goto LABEL013
  300.     :LABEL014
  301.     BOOLEAN001 = 0
  302.     AnsiPos 1, 22
  303.     If (TSTRING020(STRING025) == "") Goto LABEL012
  304.     Print "Do you want to send E-mail to " + TSTRING020(STRING025) + " (Y/N)"
  305.     :LABEL015
  306.     If (BOOLEAN001) Goto LABEL016
  307.     STRING012 = Inkey()
  308.     STRING012 = Upper(STRING012)
  309.     If (STRING012 == "Y") Then
  310.         AnsiPos 1, 22
  311.         Print "                                                                               "
  312.     Else
  313.         If (STRING012 == "N") Then
  314.             AnsiPos 1, 22
  315.             Print "                                                                               "
  316.             STRING011 = ""
  317.             Goto LABEL012
  318.         Endif
  319.         Goto LABEL015
  320.         :LABEL016
  321.         Gosub LABEL023
  322.         AnsiPos 1, 22
  323.         Print "                                                                               "
  324.         AnsiPos 1, 22
  325.         InputStr TSTRING019(7) + "What is the Name to Add", STRING009, 10, 25, Mask_Ascii(), 2
  326.         AnsiPos 1, 22
  327.         Print "                                                                               "
  328.         AnsiPos 1, 22
  329.         If (STRING009 == "") Goto LABEL012
  330.         PrintLn TSTRING019(4) + "Name: (" + TSTRING019(7) + STRING009 + TSTRING019(4) + ")   Correct?  (" + TSTRING019(6) + "Y" + TSTRING019(4) + "/" + TSTRING019(6) + "N" + TSTRING019(4) + ") (" + TSTRING019(6) + "A" + TSTRING019(4) + ")bort?"
  331.         BOOLEAN001 = 0
  332.         :LABEL017
  333.         If (BOOLEAN001) Goto LABEL018
  334.         STRING012 = Inkey()
  335.         STRING012 = Upper(STRING012)
  336.         If (STRING012 == "Y") Goto LABEL018
  337.         If (STRING012 == "N") Goto LABEL016
  338.         If (STRING012 == "A") Then
  339.             AnsiPos 1, 22
  340.             Print "                                                                               "
  341.             Goto LABEL012
  342.         Endif
  343.         Goto LABEL017
  344.         :LABEL018
  345.         AnsiPos 1, 22
  346.         Print "                                                                                "
  347.         AnsiPos 1, 22
  348.         InputStr TSTRING019(8) + "What is the Internet Address", STRING010, 10, 43, "1234567890abcdefghijklmnopqrstuvwxyz!@%_.", 2
  349.         If (STRING010 == "") Goto LABEL012
  350.         AnsiPos 1, 22
  351.         Print "                                                                                "
  352.         AnsiPos 1, 22
  353.         Print TSTRING019(4) + "Address: (" + TSTRING019(8) + STRING010 + TSTRING019(4) + ")  Correct? (" + TSTRING019(6) + "Y" + TSTRING019(4) + "/" + TSTRING019(6) + "N" + TSTRING019(4) + ") (" + TSTRING019(6) + "A" + TSTRING019(4) + ")bort?"
  354.         BOOLEAN001 = 0
  355.         :LABEL019
  356.         If (BOOLEAN001) Goto LABEL020
  357.         STRING012 = Inkey()
  358.         STRING012 = Upper(STRING012)
  359.         If (STRING012 == "Y") Goto LABEL020
  360.         If (STRING012 == "N") Goto LABEL018
  361.         If (STRING012 == "A") Then
  362.             AnsiPos 1, 22
  363.             Print "                                                                                "
  364.             Goto LABEL012
  365.         Endif
  366.         Goto LABEL019
  367.         :LABEL020
  368.         AnsiPos 1, 22
  369.         Print "                                                                                "
  370.         FAppend 1, PPEPath() + "DAT\" + STRING017, 1, 0
  371.         FPutLn 1, STRING009
  372.         FPutLn 1, STRING010
  373.         FCloseAll
  374.         STRING009 = ""
  375.         STRING010 = ""
  376.         INTEGER001 = 0
  377.         FOpen 1, PPEPath() + "DAT\" + STRING017, 0, 0
  378.         FDefIn 1
  379.         :LABEL021
  380.         If (Ferr(1)) Goto LABEL022
  381.         Inc INTEGER001
  382.         FDGet TSTRING014(INTEGER001)
  383.         FDGet TSTRING015(INTEGER001)
  384.         Goto LABEL021
  385.         :LABEL022
  386.         FCloseAll
  387.         INTEGER001 = INTEGER001 - 1
  388.         INTEGER002 = INTEGER002 - 5
  389.         AnsiPos 32, 17
  390.         Print "   "
  391.         AnsiPos 32, 17
  392.         Print TSTRING019(7) + INTEGER001
  393.         Goto LABEL010
  394.         :LABEL023
  395.         Return
  396.         :LABEL024
  397.         AnsiPos 1, 22
  398.         InputStr TSTRING019(4) + "Please Enter the Name to Delete", STRING024, 10, 25, Mask_Ascii(), 2
  399.         AnsiPos 1, 22
  400.         Print "                                                                               "
  401.         AnsiPos 1, 22
  402.         If (STRING024 == "") Goto LABEL012
  403.         Print TSTRING019(4) + "Name to be DELETED (" + TSTRING019(7) + STRING024 + TSTRING019(4) + ")  Are you sure?  (" + TSTRING019(6) + "Y" + TSTRING019(4) + "/" + TSTRING019(6) + "N" + TSTRING019(4) + ")"
  404.         BOOLEAN001 = 0
  405.         :LABEL025
  406.         If (BOOLEAN001) Goto LABEL031
  407.         STRING012 = Inkey()
  408.         STRING012 = Upper(STRING012)
  409.         If (STRING012 == "N") Then
  410.             STRING024 = ""
  411.             AnsiPos 1, 22
  412.             Print "                                                                               "
  413.             Goto LABEL012
  414.         Endif
  415.         If (STRING012 == "Y") Then
  416.             AnsiPos 1, 22
  417.             Print "                                                                               "
  418.             AnsiPos 1, 22
  419.             Print TSTRING019(4) + "Please wait, deleteing record for : " + TSTRING019(7) + STRING024 + " ..."
  420.             STRING024 = Upper(STRING024)
  421.             STRING017 = Mid(STRING017, 1, Len(STRING017) - 3)
  422.             FCloseAll
  423.             If (Exist(PPEPath() + "DAT\" + STRING017 + "BAK")) Delete PPEPath() + "DAT\" + STRING017 + "BAK"
  424.             Rename PPEPath() + "DAT\" + STRING017 + "DAT", PPEPath() + "DAT\" + STRING017 + "BAK"
  425.             FOpen 1, PPEPath() + "DAT\" + STRING017 + "BAK", 2, 0
  426.             FCreate 2, PPEPath() + "DAT\" + STRING017 + "DAT", 1, 0
  427.             STRING001 = 1
  428.             BOOLEAN002 = 0
  429.             :LABEL026
  430.             If (Ferr(1)) Goto LABEL028
  431.             FGet 1, TSTRING005(STRING001)
  432.             FGet 1, TSTRING006(STRING001)
  433.             TSTRING007(STRING001) = Upper(TSTRING005(STRING001))
  434.             If (TSTRING005(STRING001) == "") Goto LABEL027
  435.             If (TSTRING007(STRING001) == STRING024) Then
  436.                 BOOLEAN002 = 1
  437.                 Goto LABEL027
  438.             Endif
  439.             FPutLn 2, TSTRING005(STRING001)
  440.             FPutLn 2, TSTRING006(STRING001)
  441.             :LABEL027
  442.             Inc STRING001
  443.             Goto LABEL026
  444.             :LABEL028
  445.             FCloseAll
  446.             Delete PPEPath() + "DAT\" + STRING017 + "BAK"
  447.             STRING017 = STRING017 + "DAT"
  448.             If (BOOLEAN002 == 0) Then
  449.                 AnsiPos 1, 22
  450.                 Print "                                                                                 "
  451.                 AnsiPos 1, 22
  452.                 STRING002 = Left(TSTRING019(4), 2) + "8" + Right(TSTRING019(4), 1)
  453.                 Print STRING002 + "                    Record NOT Deleted (NOT FOUND IN BOOK)@X07"
  454.                 Delay 50
  455.                 AnsiPos 1, 22
  456.                 Print "                                                                                 "
  457.                 Goto LABEL012
  458.             Endif
  459.             INTEGER002 = INTEGER002 - 5
  460.             If (INTEGER003 == 6) INTEGER002 = INTEGER002 - 5
  461.             INTEGER001 = 0
  462.             FOpen 1, PPEPath() + "DAT\" + STRING017, 2, 0
  463.             FDefIn 1
  464.             :LABEL029
  465.             If (Ferr(1)) Goto LABEL030
  466.             Inc INTEGER001
  467.             FDGet TSTRING014(INTEGER001)
  468.             FDGet TSTRING015(INTEGER001)
  469.             Goto LABEL029
  470.             :LABEL030
  471.             FCloseAll
  472.             If (INTEGER001 == 1) Then
  473.                 TSTRING014(1) = ""
  474.                 AnsiPos 7, 4
  475.                 Print TSTRING020(0)
  476.                 AnsiPos 35, 4
  477.                 Print TSTRING021(0)
  478.             Endif
  479.             INTEGER001 = INTEGER001 - 1
  480.             AnsiPos 32, 17
  481.             Print "   "
  482.             AnsiPos 32, 17
  483.             Print TSTRING019(7) + INTEGER001
  484.             AnsiPos 1, 22
  485.             Print "                                                                              "
  486.             STRING024 = ""
  487.             Goto LABEL010
  488.         Endif
  489.         Goto LABEL025
  490.         :LABEL031
  491.         SaveScrn
  492.         AnsiPos 12, 1
  493.         Print TSTRING019(5) + " ╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗ "
  494.         AnsiPos 12, 2
  495.         Print TSTRING019(5) + " ╠╬╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╬╣ "
  496.         AnsiPos 12, 3
  497.         Print TSTRING019(5) + " ╠╣ " + TSTRING019(7) + "The Internet Address Book Quick Reference Guide" + TSTRING019(5) + " ╠╣ "
  498.         AnsiPos 12, 4
  499.         Print TSTRING019(5) + " ╠╬═════════════════════════════════════════════════╬╣ "
  500.         AnsiPos 12, 5
  501.         Print TSTRING019(5) + " ╠╣ " + TSTRING019(4) + "(" + TSTRING019(6) + "" + TSTRING019(4) + "/" + TSTRING019(6) + "" + TSTRING019(4) + ")  ≈  Using the Up and Down Arrows on your" + TSTRING019(5) + "  ╠╣ "
  502.         AnsiPos 12, 6
  503.         Print TSTRING019(5) + " ╠╣           " + TSTRING019(4) + "key board allows you to scroll pages" + TSTRING019(5) + "  ╠╣ "
  504.         AnsiPos 12, 7
  505.         Print TSTRING019(5) + " ╠╣           " + TSTRING019(4) + "of your address book." + TSTRING019(5) + "                 ╠╣ "
  506.         AnsiPos 12, 8
  507.         Print TSTRING019(5) + " ╠╬═════════════════════════════════════════════════╬╣ "
  508.         AnsiPos 12, 9
  509.         Print TSTRING019(5) + " ╠╣  " + TSTRING019(4) + "(" + TSTRING019(6) + "#" + TSTRING019(4) + ")  ≈  By pressing the number exactly to the" + TSTRING019(5) + "  ╠╣ "
  510.         AnsiPos 12, 10
  511.         Print TSTRING019(5) + " ╠╣          " + TSTRING019(4) + "left of a name you will automatically" + TSTRING019(5) + "  ╠╣ "
  512.         AnsiPos 12, 11
  513.         Print TSTRING019(5) + " ╠╣          " + TSTRING019(4) + "start an E-Mail message to that  name" + TSTRING019(5) + "  ╠╣ "
  514.         AnsiPos 12, 12
  515.         Print TSTRING019(5) + " ╠╬═════════════════════════════════════════════════╬╣ "
  516.         AnsiPos 12, 13
  517.         Print TSTRING019(5) + " ╠╣ " + TSTRING019(4) + "(" + TSTRING019(6) + "A" + TSTRING019(4) + ")dd  ≈  Add an Internet Address to Your Book" + TSTRING019(5) + "  ╠╣ "
  518.         AnsiPos 12, 14
  519.         Print TSTRING019(5) + " ╠╬═════════════════════════════════════════════════╬╣ "
  520.         AnsiPos 12, 15
  521.         Print TSTRING019(5) + " ╠╣ " + TSTRING019(4) + "(" + TSTRING019(6) + "D" + TSTRING019(4) + ")elete ≈ Delete an Internet Address from Book" + TSTRING019(5) + " ╠╣ "
  522.         AnsiPos 12, 16
  523.         Print TSTRING019(5) + " ╠╬═════════════════════════════════════════════════╬╣ "
  524.         AnsiPos 12, 17
  525.         Print TSTRING019(5) + " ╠╣ " + TSTRING019(4) + "(" + TSTRING019(6) + "Q" + TSTRING019(4) + ")uit ≈ Quit and Return to Your Local BBS Host" + TSTRING019(5) + " ╠╣ "
  526.         AnsiPos 12, 18
  527.         Print TSTRING019(5) + " ╠╬═════════════════════════════════════════════════╬╣ "
  528.         AnsiPos 12, 19
  529.         Print TSTRING019(5) + " ╠╣ " + TSTRING019(4) + "(" + TSTRING019(6) + "H" + TSTRING019(4) + ")elp ≈ Display this Quick Refernce Help Guide" + TSTRING019(5) + " ╠╣ "
  530.         AnsiPos 12, 20
  531.         Print TSTRING019(5) + " ╠╬╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╬╣ "
  532.         AnsiPos 12, 21
  533.         Print TSTRING019(5) + " ╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝ "
  534.         AnsiPos 25, 22
  535.         Print TSTRING019(8) + "Press Any Key to Continue"
  536.         BOOLEAN001 = 0
  537.         :LABEL032
  538.         If (BOOLEAN001) Goto LABEL033
  539.         STRING012 = Inkey()
  540.         If (STRING012 <> "") BOOLEAN001 = 1
  541.         Goto LABEL032
  542.         :LABEL033
  543.         RestScrn
  544.         Goto LABEL012
  545.     Endif
  546.     :LABEL034
  547.     If (STRING004 <> 1) Goto LABEL035
  548.     SaveScrn
  549.     AnsiPos 20, 7
  550.     PrintLn " ╔════════════════════════════════════╗ "
  551.     AnsiPos 20, 8
  552.     PrintLn " ║         UNREGISTERED DELAY         ║ "
  553.     AnsiPos 20, 9
  554.     PrintLn " ╟════════════════════════════════════╢ "
  555.     AnsiPos 20, 10
  556.     PrintLn " ║    For Red Dragon Software Support ║ "
  557.     AnsiPos 20, 11
  558.     PrintLn " ║ BBS:     The Realm of Delirium BBS ║ "
  559.     AnsiPos 20, 12
  560.     PrintLn " ║                806.035.4760        ║ "
  561.     AnsiPos 20, 13
  562.     PrintLn " ║INTERNET: realm!rds.support@xnet.com║ "
  563.     AnsiPos 20, 14
  564.     PrintLn " ╟════════════════════════════════════╢ "
  565.     AnsiPos 20, 15
  566.     PrintLn " ║    This Delay Ends in   Seconds    ║ "
  567.     AnsiPos 20, 16
  568.     PrintLn " ╚════════════════════════════════════╝ "
  569.     For STRING001 = 9 To 0 Step -1
  570.         AnsiPos 45, 15
  571.         Print "@X0B" + STRING001
  572.         Delay 18
  573.     Next
  574.     RestScrn
  575.     AnsiPos 1, 22
  576.     Goto LABEL035
  577.     Return
  578.     Return
  579.     :LABEL035
  580.     ShowOff
  581.     If (STRING011 == "") Goto LABEL036
  582.     AnsiPos 1, 22
  583.     If (CurConf() <> TSTRING019(9)) KbdStuff "J " + TSTRING019(9) + STRING013
  584.     KbdStuff "E" + STRING013
  585.     KbdStuff STRING011 + STRING013
  586.     Stop
  587.     :LABEL036
  588.     Log "The E-mail address Book was exited!", 0
  589.     Stop
  590.     :LABEL037
  591.     Goto LABEL001
  592.  
  593. ;------------------------------------------------------------------------------
  594. ;
  595. ; Usage report (before postprocessing)
  596. ;
  597. ; ■ Statements used :
  598. ;
  599. ;    1       Cls
  600. ;    114     Goto 
  601. ;    135     Let 
  602. ;    68      Print 
  603. ;    34      PrintLn 
  604. ;    89      If 
  605. ;    2       FCreate 
  606. ;    5       FOpen 
  607. ;    1       FAppend 
  608. ;    1       FClose 
  609. ;    3       FGet 
  610. ;    4       FPutLn 
  611. ;    1       StartDisp 
  612. ;    2       Delete 
  613. ;    3       Log 
  614. ;    3       InputStr 
  615. ;    7       Gosub 
  616. ;    4       Return
  617. ;    2       Delay 
  618. ;    7       Inc 
  619. ;    2       Stop
  620. ;    3       KbdStuff 
  621. ;    81      AnsiPos 
  622. ;    2       SaveScrn
  623. ;    2       RestScrn
  624. ;    1       Rename 
  625. ;    1       ShowOff
  626. ;    3       FDefIn 
  627. ;    6       FDGet 
  628. ;    5       FCloseAll
  629. ;
  630. ;
  631. ; ■ Functions used :
  632. ;
  633. ;    3       -
  634. ;    341     +
  635. ;    9       -
  636. ;    47      ==
  637. ;    6       <>
  638. ;    22      <
  639. ;    13      <=
  640. ;    2       >
  641. ;    24      >=
  642. ;    50      !
  643. ;    26      &&
  644. ;    12      ||
  645. ;    18      Len(
  646. ;    7       Upper()
  647. ;    11      Mid()
  648. ;    5       Left()
  649. ;    4       Right()
  650. ;    5       Ferr()
  651. ;    4       Chr()
  652. ;    8       Asc()
  653. ;    7       U_Name()
  654. ;    6       Inkey()
  655. ;    2       Mask_Ascii()
  656. ;    1       CurConf()
  657. ;    1       PCBDat()
  658. ;    14      PPEPath()
  659. ;    1       ReadLine()
  660. ;    2       Exist()
  661. ;    1       GetX()
  662. ;    1       GetY()
  663. ;    1       PPEName()
  664. ;
  665. ;------------------------------------------------------------------------------
  666. ;
  667. ; Analysis flags : d
  668. ;
  669. ; d - Access PCBOARD.DAT ■ 2
  670. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  671. ;     for many PPE so they can find various informations on the system
  672. ;     (system paths, max number of lines in messages, ...) but it may also
  673. ;     be a way to gather vital informations.
  674. ;     ■ Search for : PCBDAT()
  675. ;
  676. ;------------------------------------------------------------------------------
  677. ;
  678. ; Postprocessing report
  679. ;
  680. ;    12      For/Next
  681. ;    0       While/EndWhile
  682. ;    26      If/Then or If/Then/Else
  683. ;    0       Select Case
  684. ;
  685. ;------------------------------------------------------------------------------
  686. ;                 AEGiS Corp - Break the routines, code against the machines!
  687. ;------------------------------------------------------------------------------
  688.